package org.huntaway.material.cleaner.manager.model.imp;

import java.util.Collection;
import java.util.Iterator;

import org.huntaway.kernel.CurrTools;
import org.huntaway.kernel.imp.CurrToolsImp;
import org.huntaway.material.cleaner.Material;
import org.huntaway.material.cleaner.arguments.model.Visitable;
import org.huntaway.material.cleaner.enumerate.EnumMedia;
import org.huntaway.material.cleaner.enumerate.EnumOperate;
import org.huntaway.material.cleaner.enumerate.EnumPosition;
import org.huntaway.material.cleaner.manager.model.ManagerVisitable;
import org.huntaway.material.cleaner.manager.model.ManagerVisitor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class ManagerConcreteVisitor implements ManagerVisitor{
	private final static Logger logger = LoggerFactory.getLogger(ManagerConcreteVisitor.class);
	protected CurrTools curr=new CurrToolsImp();
	private EnumPosition position;
	private EnumOperate operate;
	private EnumMedia media;
	public void visitCommand(CommandManager manager) {
		logger.info(curr.getCurrDir());
	}

	public void visitCollection(Collection<ManagerVisitable> collection) {
		Iterator<ManagerVisitable> iterator = collection.iterator();
		while (iterator.hasNext()) {
			Object obj = iterator.next();
			if (obj instanceof ManagerVisitable) {
				((ManagerVisitable) obj).accept(this);
			}
		}		
	}

}
